NoC is a new on-chip communications architecture designed for a multi-core system on chip (SoC). According to an arrangement dimension of nodes in a NoC, the NoC may be classified into a one-dimensional NoC, a two-dimensional NoC, a three-dimensional NoC, and the like.
A two-dimensional NoC is used as an example. The two-dimensional NoC includes two dimensions, which are recorded as a horizontal direction and a vertical direction. At least one bufferless ring network may be included in each dimension, each bufferless ring network includes multiple routing nodes, the multiple routing nodes are connected in series into a ring shape, and each routing node is configured to be connected to at least one function module. A horizontal bufferless ring network intersects with a vertical bufferless ring network, and the two bufferless ring networks that intersect exchange data by using two connected routing nodes. The two connected routing nodes are also referred to as switching nodes. A number of switching nodes included in each bufferless ring network is corresponding to a number of bufferless ring networks that intersect with the bufferless ring network.
In a NoC, each bufferless ring network performs data transmission by using a timeslot, which may also be referred as a slot. A slot is a carrier that carries data. For a bufferless ring network, a number of slots is equal to a number of routing nodes in the bufferless ring network. A slot is transferred between the routing nodes in the bufferless ring network according to a predetermined direction, and there is only one slot at each routing node at each moment in the bufferless ring network. When data is transmitted between the routing nodes by using a slot, a routing node may transmit data in a function module to a slot, may transmit data in a slot to a function module, or may transfer, by using connected switching nodes, data in a slot of a bufferless ring network to a slot of another bufferless ring network for transmission, so as to implement a data exchange between two bufferless ring networks.
When all data in all slots of a horizontal bufferless ring network in two bufferless ring networks that intersect needs to be transmitted to a vertical bufferless ring network, and all data in all slots of the vertical bufferless ring network needs to be transmitted to the horizontal bufferless ring network, when all the slots of the two bufferless ring networks are loaded with data, a slot at a switching node that is connected to another switching node is loaded with data, regardless of how the slot is transferred. Therefore, the switching node cannot transmit the data in the slot to another bufferless ring network, data cannot be exchanged between the two bufferless ring networks, and a network deadlock is formed.